Computer users configure their computers in order to most efficiently and comfortably perform tasks. For example, a user may configure a word processing application to include a footer containing the user's initials in every document created by the user. As another example, a user may configure the mouse to open files with a single click instead of a double click. The footer and mouse configurations are referred to as configuration settings. Some configuration settings are considered global in the sense that all applications executing on the computer share the configuration settings, while other configuration settings are specific to an application or a group of applications. For example, a configuration setting that indicates the base color for a window may be global, whereas a configuration setting that indicates spelling errors are to be automatically corrected may be specific to an application or a group of applications. Typically, both global and application-specific configuration settings are configurable by a user.
In many cases, when a software vendor brings a new version of an application (or operating system) to market, users often choose to continue using outdated versions rather than upgrade their computer to the most recent version of the software. This choice to continue with the status quo is commonly driven by the decrease in productivity and satisfaction that users experience when they are unable to easily return their computer (if at all) to their accustomed, pre-installation operating state. Specifically, when a user installs a new version of an application on his computer, the newly installed version of the application does not include the configuration settings established by the user for the previous version of the application. As a result, the user loses the ease of use provided by his configuration settings, which makes it difficult to use the application. This problem is typically addressed by the user manually reconfiguring the application in the way that he is accustomed. However, this solution tends to be time consuming, tedious, and error prone even for experienced, computer-savvy users. In addition, the difficulty of manually reconfiguring the application may be further exacerbated for the user if the user interface of the new version of the application differs from the previous, user-configured version.